<!--项目（合同）列表页-->
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- 避免IE使用兼容模式 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
<meta name="renderer" content="webkit">
<!-- TopJUI框架样式 -->
<link type="text/css" href="../../general/topjui/themes/default/topjui.core.min.css" rel="stylesheet">
<link type="text/css" href="../../general/topjui/themes/default/topjui.blue.css" rel="stylesheet" id="dynamicTheme" />
<!-- FontAwesome字体图标 -->
<link type="text/css" href="../../general/static/plugins/font-awesome/css/font-awesome.min.css" rel="stylesheet" />
<!-- layui框架样式 -->
<link type="text/css" href="../../general/static/plugins/layui/css/layui.css" 	rel="stylesheet" />
<!-- jQuery相关引用 -->
<script type="text/javascript" src="../../general/static/plugins/jquery/jquery.min.js"></script>
<script type="text/javascript" src="../../general/static/plugins/jquery/jquery.cookie.js"></script>
<!-- TopJUI框架配置 -->
<script type="text/javascript" src="../../general/static/public/js/topjui.config.js"></script>
<!-- TopJUI框架核心-->
<script type="text/javascript" src="../../general/topjui/js/topjui.core.min1.js"></script>
<!-- TopJUI中文支持 -->
<script type="text/javascript" src="../../general/topjui/js/locale/topjui.lang.zh_CN.js"></script>
<!-- layui框架js -->
<script type="text/javascript" src="../../general/static/plugins/layui/layui.js" charset="utf-8"></script>

<!--自定义的样式-->
<link type="text/css" href="../a_allcommon/all.css" 	rel="stylesheet" />

</head>
<body>
	<div class="page_box">
		<div class="query_box">
			<span style="padding: 10px;"></span>
			<a href="javascript:void(0)" data-toggle="topjui-menubutton"
			data-options="iconCls: 'fa fa-plus',btnCls:'topjui-btn-blue'" onclick="openAddDiag()">新增</a>
			<span style="padding: 50px;"></span>
			<form id="queryForm">
				项目名称：
				<input type="text" name="q_ht_xiangmu_name" data-toggle="topjui-textbox"
					data-options="id:'q_ht_xiangmu_name',prompt:'请输入项目名称',width:150">
				<span style="padding: 5px;"></span>
				<a href="javascript:doSubmit(1,20)" data-toggle="topjui-menubutton"
					 data-options="iconCls:'fa fa-search',btnCls:'topjui-btn-blue'">查询</a> 
			</form>
		</div> <!--查询区div结束-->
		
		<div class="grid_box">
			<!-- datagrid表格（fitColumns:true表示限制滚动条，fitColumns:false表示允许滚动条）-->
			<table data-toggle="topjui-datagrid" class="productDg1" 
			       data-options="id:'b_htTable',fitColumns:true,remoteSort:false,rownumberWidth:39">
				<thead>
					<tr>
						<th data-options="field:'ht_xiangmu_name',title:'项目名称',sortable:true,width:220,align:'center'"></th>
						<th data-options="field:'ht_start',title:'合同开始时间',formatter:fmt_riqi,sortable:true,width:100,align:'center'"></th>
						<th data-options="field:'ht_end',title:'合同结束时间',formatter:fmt_riqi,sortable:true,width:100,align:'center'"></th>
						<th data-options="field:'ht_yueshu',title:'跨月份数',sortable:true,width:70,align:'center'"></th>
						<th data-options="field:'ht_zongjinE',title:'合同额(元)',sortable:true,width:80,align:'center'"></th>
						<th data-options="field:'ht_renshu_yuangong',title:'员工人数',sortable:true,width:80,align:'center'"></th>
						<th data-options="field:'ht_renshu_yongcan',title:'用餐人数',sortable:true,width:80,align:'center'"></th>
						<th data-options="field:'ht_canbiao',title:'餐标(元)',sortable:true,width:50,align:'center'"></th>
						<th data-options="field:'ht_shuilv',title:'税率',formatter:fmt_shuilv,sortable:true,width:60,align:'center'"></th>
						<th data-options="field:'gyshang_name',title:'供应商',sortable:true,width:180,align:'center'"></th>
						<th data-options="field:'gyshang_lianxiren',title:'联系人',sortable:true,width:60,align:'center'"></th>
						<th data-options="field:'gyshang_phone',title:'联系电话',sortable:true,width:100,align:'center'"></th>
						<th data-options="field:'operate',title:'操作',formatter:operateFormatter,width:100,align:'left'"></th>
					</tr>
				</thead>
			</table>
		</div> <!--表格区div结束-->
		
	</div>
<script>
var A_ZD_LIST=[]; //用于保存字典中项目名称下拉框的数据
var A_GYSh_LIST=[]; //用于保存供应商名称下拉框的数据
var LXR_PHONE_LIST=[]; //根据供应商的名字取供应商对象集合（目的是取联系人与电话，还有对象的id）
$(function(){
	getA_ZDList(); //取字典中项目名称集合
	getA_GYShList_quchongming(); //取供应商名称集合
	doSubmit(1,20);//获取项目（合同）表格数据
});

//取字典中的项目（合同）名称列表（用于填充项目名称选择下拉）
function getA_ZDList(){
	var formData={};
	formData.zidian_name="项目名称";
	$.ajax({
		url:"/a_ZD/getA_ZDList",
		dataType:"JSON",
		type:"POST",
		data:formData,
		success:function(data){
			console.log("获取字典中项目名称集合返回值data.rows==",data.rows);
			A_ZD_LIST=data.rows; //将返回值赋值给全局变量
			debugger;
		}
	});
}
//取供应商列表（用于填充供应商选择下拉）
function getA_GYShList_quchongming(){
	var formData={};
	$.ajax({
		url:"/a_GYSh/getA_GYShList_quchongming",
		dataType:"JSON",
		type:"POST",
		data:formData,
		success:function(data){
			console.log("获取供应商集合返回值data.rows==",data.rows);
			A_GYSh_LIST=data.rows; //将返回值赋值给全局变量
			debugger;
		}
	});
}
//根据供应商的名字取供应商对象集合（目的是取联系人与电话，还有对象的id）
function getPhoneList(gyshang_name){
	LXR_PHONE_LIST=[]; //由于是动态加载因此需要每次执行前要初始化
	$('#ht_gysh_id').iCombobox('setValue', ''); //显示内容也初始化
	var formData={};
	formData.gyshang_name=gyshang_name;
	$.ajax({
		url:"/a_GYSh/getPhoneList",
		dataType:"JSON",
		type:"POST",
		data:formData,
		success:function(data){
			console.log("根据供应商的名字取供应商对象集合返回值data.rows==",data.rows);
			LXR_PHONE_LIST=data.rows; //将返回值赋值给全局变量
			debugger;
			$('#ht_gysh_id').iCombobox('loadData',LXR_PHONE_LIST);
		}
	});
}
//处理日期的显示
function fmt_riqi(value, row, index) {
	//debugger;
	var htmlstr ='';
	var a=value.substr(0,10);
	htmlstr+=a;
	return htmlstr;
}
//处理税率的显示（小数转换为%）
function fmt_shuilv(value, row, index) {
	//debugger;
	var htmlstr ='';
	var a=parseFloat(value)*100;
	htmlstr+=a+"%";
	return htmlstr;
}
//表头“操作”栏，formatter定义，这里面可以自定义按钮样式
function operateFormatter(value, row, index) {
	//debugger;
	var htmlstr ='';
	htmlstr += '<button class="layui-btn layui-btn-xs" onclick="openEditDiag(\''+row.id+'\')">编辑</button>';
	htmlstr += '<button class="layui-btn layui-btn-xs layui-btn-danger" onclick="deleteRow(\''+row.id+'\',\''+row.ht_xiangmu_name+'\')">删除</button>';
	return htmlstr;
}
//新增合同（项目）
function openAddDiag(){
	var formData={}; //b_ht_add.html
	var $addDialog = $('<form id="b_htDg-add" style="width: 900px; height:600px; margin: auto; display: none;"></form>');
	var diag = $addDialog.dialog({
		title: '新建合同（项目）',
		href: 'b_ht_add.html',
		modal: true,
		resizable:true,
		maximizable:true,
		collapsible:true,
		buttons:[{
			text:'保存',
			iconCls: 'fa fa-save',
			btnCls: 'topjui-btn-green',
			handler:function(){
				//验证框架（就是必填项必须要填）if开始			
				if($('#b_htDg-add').form('validate')) {
					//提示框开始
					$.messager.confirm("操作提示", "确定新建此合同（项目）？", function (data) {
						if(data){
							//提交代码块开始
							//var formData=$("#b_htDg-add").serialize();
							var formData={};
							var ht_xiangmu_id=$('#ht_xiangmu_id').val(); //项目名称对应的字典id
							formData.ht_xiangmu_id=ht_xiangmu_id;
							var ht_xiangmu_name=$('#ht_xiangmu_name').iCombobox('getValue'); //项目名称 
							formData.ht_xiangmu_name=ht_xiangmu_name;
							formData.ht_name_jiancheng=ht_xiangmu_name; //项目简称（备用）
							var ht_start=$('#ht_start').iDatebox('getValue'); //开始时间 
							formData.ht_start=ht_start+" 00:00:00";
							var ht_end=$('#ht_end').iDatebox('getValue'); //结束时间
							formData.ht_end=ht_end+" 23:59:59";
							//验证结束时间不能早于开始时间
							var start=new Date(ht_start);
							var end=new Date(ht_end);
							if(end.getTime()<start.getTime()){
								$.iMessager.alert('警告', '结束时间不能小于开始时间！', 'messager-warning');
								return;
							}
							var ht_yueshu=$('#ht_yueshu').iNumberbox('getValue'); //合同所跨月数
							formData.ht_yueshu=ht_yueshu;
							var ht_zongjinE=$('#ht_zongjinE').iNumberbox('getValue'); //合同额
							formData.ht_zongjinE=ht_zongjinE;
							var ht_renshu_yuangong=$('#ht_renshu_yuangong').iNumberbox('getValue'); //合同员工
							formData.ht_renshu_yuangong=ht_renshu_yuangong;
							var ht_renshu_yongcan=$('#ht_renshu_yongcan').iNumberbox('getValue'); //合同用餐人数
							formData.ht_renshu_yongcan=ht_renshu_yongcan;
							var ht_canbiao=$('#ht_canbiao').iNumberbox('getValue'); //合同餐标
							formData.ht_canbiao=ht_canbiao;
							var ht_shuilv=$('#ht_shuilv').iNumberbox('getValue'); //合同税率
							var a=parseFloat(ht_shuilv);
							var b=a/100;
							formData.ht_shuilv=b.toFixed(2);
							// var gyshang_name=$('#gyshang_name').iCombobox('getValue'); //供应商名称
							// formData.gyshang_name=gyshang_name;
							var ht_gysh_id=$('#ht_gysh_id').iCombobox('getValue'); //供应商id
							formData.ht_gysh_id=ht_gysh_id;
							debugger;
							$.iMessager.progress({
								text: '正在操作...'
							});
							$.ajax({
								url:"/b_HT/insertB_HT",
								dataType:"JSON",
								type:"POST",
								data:formData,
								success:function(data){
									console.log("新增合同（项目）返回值==",data);
									if(data.status=='success'){ 
										$.iMessager.show({title: '我的消息', msg: '操作成功', timeout: 2000, showType: 'slide'});// '消息窗口'组件
										//刷新表格数据采用主动请求的方式
										doSubmit(1,20);
										diag.dialog("destroy");// 销毁dialog面板
									}else{
										$.iMessager.show({title: '我的error消息', msg: data.message, timeout: 5000, showType: 'slide'});// '消息窗口'组件
									}
								},
								error:function(err){
									console.log("新增合同（项目）接口错误==",err);
									$.iMessager.show({title: '接口错误消息', msg: err, timeout: 5000, showType: 'slide'});// '消息窗口'组件
								},
								complete:function(){
									$.iMessager.progress('close');//无论成功与否，都会关闭进度条；
								}
							}); //提交代码块结束
						}else {}
					});	//提示框结束
				} //验证框架（就是必填项必须要填）if结束		
			}
		},{
			text:'关闭',
			iconCls: 'fa fa-close',
			btnCls: 'topjui-btn-red',
			handler:function(){diag.dialog("destroy");}
		}],
		onClose: function () {
			$(this).dialog('destroy');//销毁
		},
		onLoad :function(){
			//1：加载项目名称下拉
			$('#ht_xiangmu_name').iCombobox('loadData',A_ZD_LIST); 
			//2：加载供应商
			$('#gyshang_name').iCombobox('loadData',A_GYSh_LIST);
		}
	});
	$addDialog.dialog('open');
}

//打开编辑页面
function openEditDiag(id){
	//先取实体对象
	$.ajax({
		url:"/b_HT/getB_HT",
		dataType:"JSON",
		type:"POST",
		data:{
			id:id,
		},
		success:function(data){
			openDialog(data.b_HT);//调用下面的用于回显的打开对话框函数
		}
	});
}
//再打开编辑对话框：由openEditDiag(id)函数末尾调用
function openDialog(d){
	debugger;
	var $updateDialog = $('<form id="b_htDg-update"  style="width: 900px; height: 600px; margin: auto; display: none;"></form>');
	var diag = $updateDialog.dialog({
		title: '编辑合同（项目）',
		href: 'b_ht_add.html',
		modal: true,
		resizable:true,
		maximizable:true,
		collapsible:true,
		//按钮定义
		buttons:[{
			text:'保存',
			iconCls: 'fa fa-save',
			btnCls: 'topjui-btn-green',
			handler:function(){
				if($('#b_htDg-update').form('validate')){ //验证框架开始
					//提示框开始
					$.messager.confirm("操作提示", "确定编辑此合同（项目）？", function (data) {
						if(data){
							//提交代码块开始
							//var formData=$("#b_htDg-add").serialize();
							var formData={};
							formData.id=d.id; //主键赋值
							var ht_xiangmu_id=$('#ht_xiangmu_id').val(); //项目名称对应的字典id
							formData.ht_xiangmu_id=ht_xiangmu_id;
							var ht_xiangmu_name=$('#ht_xiangmu_name').iCombobox('getValue'); //项目名称 
							formData.ht_xiangmu_name=ht_xiangmu_name;
							formData.ht_name_jiancheng=ht_xiangmu_name; //项目简称（备用）
							var ht_start=$('#ht_start').iDatebox('getValue'); //开始时间 
							formData.ht_start=ht_start+" 00:00:00";
							var ht_end=$('#ht_end').iDatebox('getValue'); //结束时间
							formData.ht_end=ht_end+" 23:59:59";
							//验证结束时间不能早于开始时间
							var start=new Date(ht_start);
							var end=new Date(ht_end);
							if(end.getTime()<start.getTime()){
								$.iMessager.alert('警告', '结束时间不能小于开始时间！', 'messager-warning');
								return;
							}
							var ht_yueshu=$('#ht_yueshu').iNumberbox('getValue'); //合同所跨月数
							formData.ht_yueshu=ht_yueshu;
							var ht_zongjinE=$('#ht_zongjinE').iNumberbox('getValue'); //合同额
							formData.ht_zongjinE=ht_zongjinE;
							var ht_renshu_yuangong=$('#ht_renshu_yuangong').iNumberbox('getValue'); //合同员工
							formData.ht_renshu_yuangong=ht_renshu_yuangong;
							var ht_renshu_yongcan=$('#ht_renshu_yongcan').iNumberbox('getValue'); //合同用餐人数
							formData.ht_renshu_yongcan=ht_renshu_yongcan;
							var ht_canbiao=$('#ht_canbiao').iNumberbox('getValue'); //合同餐标
							formData.ht_canbiao=ht_canbiao;
							var ht_shuilv=$('#ht_shuilv').iNumberbox('getValue'); //合同税率
							var a=parseFloat(ht_shuilv);
							var b=a/100;
							formData.ht_shuilv=b.toFixed(2);
							// var gyshang_name=$('#gyshang_name').iCombobox('getValue'); //供应商名称
							// formData.gyshang_name=gyshang_name;
							var ht_gysh_id=$('#ht_gysh_id').iCombobox('getValue'); //供应商id
							formData.ht_gysh_id=ht_gysh_id;
							debugger;
							$.iMessager.progress({
								text: '正在操作...'
							});
							$.ajax({
								url:"/b_HT/updateB_HT",
								dataType:"JSON",
								type:"POST",
								data:formData,
								success:function(data){
									console.log("编辑合同（项目）返回值==",data);
									if(data.status=='success'){ 
										$.iMessager.show({title: '我的消息', msg: '操作成功', timeout: 2000, showType: 'slide'});// '消息窗口'组件
										//刷新表格数据采用主动请求的方式
										doSubmit(1,20);
										diag.dialog("destroy");// 销毁dialog面板
									}else{
										$.iMessager.show({title: '我的error消息', msg: data.message, timeout: 5000, showType: 'slide'});// '消息窗口'组件
									}
								},
								error:function(err){
									console.log("编辑合同（项目）接口错误==",err);
									$.iMessager.show({title: '接口错误消息', msg: err, timeout: 5000, showType: 'slide'});// '消息窗口'组件
								},
								complete:function(){
									$.iMessager.progress('close');//无论成功与否，都会关闭进度条；
								}
							}); //提交代码块结束
						}else {}
					});	//提示框结束
				} //验证框架结束
			}
		},{
			text:'关闭',
			iconCls: 'fa fa-close',
			btnCls: 'topjui-btn-red',
			handler:function(){diag.dialog("destroy");}
		}], //按钮定义结束
		
		//对话框函数定义
		onClose: function () {
			$(this).dialog('destroy');//销毁
		},
		onLoad :function(){
			//1：加载项目名称下拉
			$('#ht_xiangmu_name').iCombobox('loadData',A_ZD_LIST); 
			//2：加载供应商
			$('#gyshang_name').iCombobox('loadData',A_GYSh_LIST);
			//3：回显数据
			$('#b_htDg-update').form('load',d);
			//5：处理特殊情况（税率项的%与供应商联系人）
			var a=d.ht_shuilv*100;
			$('#ht_shuilv').iNumberbox('setValue', a); //合同税率
			var lxr_phone=d.gyshang_lianxiren+":"+d.gyshang_phone;
			//$('#ht_gysh_id').iCombobox('setValue', lxr_phone); //供应商联系人
			$('#ht_gysh_id').iCombobox('setValue', d.ht_gysh_id); //供应商联系人
			debugger;
		}
	}); //dialog定义结束
	$updateDialog.dialog('open');
}
//删除合同（项目）
function deleteRow(id,ht_xiangmu_name){
	//debugger;
	$.messager.confirm("操作提示", "是否删除：“"+ht_xiangmu_name+"”的合同（项目）吗？", function (data) {
		if(data) {
			$.iMessager.progress({
				text: '正在操作...'
			});
			$.ajax({
				url:"/b_HT/delB_HT",
				dataType:"JSON",
				type:"POST",
				data:{
					"id":id,
				},
				success:function(data){
					console.log("删除合同（项目）返回值==",data);
					if(data.status=='success'){ 
						$.iMessager.show({title: '我的消息', msg: '操作成功', timeout: 2000, showType: 'slide'});// '消息窗口'组件
						//刷新表格数据采用主动请求的方式
						doSubmit(1,20);
					}else{
						$.iMessager.show({title: '我的error消息', msg: data.message, timeout: 5000, showType: 'slide'});// '消息窗口'组件
					}
				},
				error:function(err){
					console.log("删除合同（项目）接口错误==",err);
					$.iMessager.show({title: '接口错误消息', msg: err, timeout: 5000, showType: 'slide'});// '消息窗口'组件
				},
				complete:function(){
					$.iMessager.progress('close');//无论成功与否，都会关闭进度条；
				}
			}); 
		}else {}
	}); //提示框结束
}

/*************************************表格相关方法****************************************/
/********使用ajax返回的数据的方式加载表格（如下2个主要方法）*******/
//表格主查询（包含条件查询）
function doSubmit(pageIndex,pageSize){
	var formData={};
	formData.pageIndex=pageIndex;
	formData.pageSize=pageSize;
	//1：取查询参数
	var ht_xiangmu_name=$('#q_ht_xiangmu_name').iTextbox('getValue').trim();
	if(ht_xiangmu_name!=''){
		formData.ht_xiangmu_name=ht_xiangmu_name;
	}
	debugger;
	//2：执行ajax查询请求
	$.ajax({
		url:"/b_HT/getB_HTList",
		dataType:"JSON",
		type:"POST",
		data:formData,
		success:function(data){
			console.log(data.rows);
			debugger;
			//3：fillDatagrid(data)函数加载表格
			fillDatagrid(data);//调用分页表格数据加载主函数
		}
	});
}

/********使用ajax返回的数据的方式加载表格（如下2个主要方法）*******/
//参数为ajax调用的返回值
function fillDatagrid(data){
	//第1步：取基础参数
	var rows=data.rows;
	var pageIndex=data.pageIndex;
	var pageSize=data.pageSize;
	//第2步：初始化表格
	$('#b_htTable').datagrid({   
			url:null,
			data:data, //参数传过来的data就有了数据array，页码，页尺寸
			pagination:true,   
			pageSize:pageSize,   
			pageNumber:pageIndex,   
			rownumbers:true  
	});
	//第二步：再取分页对象，并定义点击分页按钮触发的事件（并使用自定义）
	$('#b_htTable').datagrid('getPager').pagination({   
			onSelectPage : function(pPageIndex, pPageSize) {   
				//alert('页数:'+pPageIndex+',每页数据条数:'+pPageSize);
				doSubmit(pPageIndex,pPageSize);
			}   
	});
}
/********使用ajax返回的数据的方式加载表格（如上2个主要方法）*******/

</script>
</body>
</html>